d58b9fa3a66fcc5a36f7302336d7406b9ff80f04,gradebookng/tool/src/java/org/sakaiproject/gradebookng/business/GradebookNgBusinessService.java,GradebookNgBusinessService,saveGrade,#number#String#String#String#String#,433

Before Change



		// if percentage entry type, additional formatting, otherwise use points as is
		String gradeString = null;
		if (gradingType == GbGradingType.PERCENTAGE) {
			// the passed in grade represents a percentage so the number needs to be adjusted back to points
			final Double percentage = NumberUtils.toDouble(newGrade);
			final Double pointsFromPercentage = percentage / maxPoints;

			log.debug("pointsFromPercentage: " + pointsFromPercentage);
			gradeString = pointsFromPercentage.toString();
		} else {
			gradeString = newGrade;
		}

		// trim the .0 from the grades if present. UI removes it so lets standardise
		String processedStoredGrade = StringUtils.removeEnd(storedGrade, ".0");
		String processedOldGrade = StringUtils.removeEnd(oldGrade, ".0");
		String processedNewGrade = StringUtils.removeEnd(gradeString, ".0");

		// trim to null so we can better compare against no previous grade being
		// recorded (as it will be null)

After Change



		// if percentage entry type, reformat the grades, otherwise use points as is
		String newGradeAdjusted = newGrade;
		String oldGradeAdjusted = oldGrade;
		String storedGradeAdjusted = storedGrade;

		if (gradingType == GbGradingType.PERCENTAGE) {
			// the passed in grades represents a percentage so the number needs to be adjusted back to points
			final Double newGradePercentage = NumberUtils.toDouble(newGrade);
			final Double newGradePointsFromPercentage = newGradePercentage / maxPoints;
			newGradeAdjusted = newGradePointsFromPercentage.toString();

			final Double oldGradePercentage = NumberUtils.toDouble(oldGrade);
			final Double oldGradePointsFromPercentage = oldGradePercentage / maxPoints;
			oldGradeAdjusted = oldGradePointsFromPercentage.toString();

			final Double storedGradePercentage = NumberUtils.toDouble(storedGrade);
			final Double storedGradePointsFromPercentage = storedGradePercentage / maxPoints;
			storedGradeAdjusted = storedGradePointsFromPercentage.toString();
		}

		// trim the .0 from the grades if present. UI removes it so lets standardise
		// trim to null so we can better compare against no previous grade being recorded (as it will be null)
		// Note that we also trim newGrade so that don't add the grade if the new grade is blank and there was no grade previously
		storedGradeAdjusted = StringUtils.trimToNull(StringUtils.removeEnd(storedGradeAdjusted, ".0"));
		oldGradeAdjusted = StringUtils.trimToNull(StringUtils.removeEnd(oldGradeAdjusted, ".0"));
		newGradeAdjusted = StringUtils.trimToNull(StringUtils.removeEnd(newGradeAdjusted, ".0"));

		if (log.isDebugEnabled()) {